package com.jackrain.nea.ext.sequence.dao;

/**
 * @author xubin
 * 2017-11-15
 */
public interface SequenceNumberDao {


    /**
     * 设置初始值，如果初始值已经存在，则返回增加值，否则返回初始值
     *
     * @param sequenceName
     * @param dateStr
     * @param setValue
     * @param increment
     * @return
     */
    Long setStartNo(String sequenceName, String dateStr, Long setValue, Long increment);

    /**
     * 设置初始值，并往上增加，如果初始值已经存在，则在当前初始值上往上增加
     *
     * @param sequenceName
     * @param dateStr
     * @param setValue
     * @param increment
     * @return
     */
    Long setAndIncrease(String sequenceName, String dateStr, Long setValue, Long increment);

    /**
     * 增加
     *
     * @param sequenceName
     * @param dateStr
     * @param increment
     * @return
     */
    Long increase(String sequenceName, String dateStr, Long increment);

}
